package com.mhc.haval.bo;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * Created by HMJ on 2017/8/28.
 */
@Data
public class StaffBO extends PageBO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键，员工ID
     * ac_staff.staff_id
     */
    private Long staffId;

    /**
     * 部门ID
     * ac_staff.dept_id
     */
    private Long deptId;

    /**
     * 员工工号
     * ac_staff.staff_no
     */
    private String staffNo;

    /**
     * 员工姓名，真名
     * ac_staff.staff_name
     */
    private String staffName;

    /**
     * 员工昵称
     * ac_staff.staff_nickname
     */
    private String staffNickname;

    /**
     * 员工邮箱，作为登录账号用
     * ac_staff.email
     */
    private String email;

    /**
     * 登录密码，密文存储，不可逆
     * ac_staff.password
     */
    private String password;

    /**
     * 员工手机号，可以作为登录账号使用
     * ac_staff.phone
     */
    private String phone;

    /**
     * 账号状态：-1 已删除，0 正常， 1 停用
     * ac_staff.status
     */
    private Integer status;

    /**
     * 创建者员工ID
     * ac_staff.creator
     */
    private Long creator;

    /**
     * 最后修改者员工ID
     * ac_staff.modifier
     */
    private Long modifier;

    /**
     * 记录创建时间
     * ac_staff.gmt_create
     */
    @SuppressWarnings("squid:S3437")
    private LocalDateTime gmtCreate;

    /**
     * 记录修改时间
     * ac_staff.gmt_modified
     */
    @SuppressWarnings("squid:S3437")
    private LocalDateTime gmtModified;

    /**
     * 用户权限
     */
    private List<Map> roleArray;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 银行ID
     */
    private Long bankId;

    /**
     * 员工搜索框关键字(姓名、手机号码)
     */
    private String keyword;

    /**
     * 部门ID列表
     */
    private String[] selectedDept;

    /**
     * 部门结构，用来回显所属部门
     */
    private Map<Integer, Object> deptStructure;

}
